[versions]
spring-boot-version = '3.0.3'
openapi-version = '2.0.2'
liquibase-version = '2.1.1'
testcontainers-bom-version = '1.17.6'
micrometer-tracing-version = '1.0.0'

[libraries]
#spring
spring-boot-webflux = { module = 'org.springframework.boot:spring-boot-starter-webflux' }
spring-boot-data-jpa = { module = 'org.springframework.boot:spring-boot-starter-data-jpa' }
spring-boot-validation = { module = 'org.springframework.boot:spring-boot-starter-validation' }
spring-boot-actuator = { module = 'org.springframework.boot:spring-boot-starter-actuator' }
springdoc = {module = 'org.springdoc:springdoc-openapi-starter-webflux-ui', version.ref = 'openapi-version' }
micrometer-tracing-bom = {module = 'io.micrometer:micrometer-tracing-bom', version.ref = 'micrometer-tracing-version'}
micrometer-tracing =  { module = 'io.micrometer:micrometer-tracing' }
micrometer-tracing-bridge-otel = { module = 'io.micrometer:micrometer-tracing-bridge-otel' }

#third party
postgresql = { module = 'org.postgresql:postgresql' }
lombok = { module = 'org.projectlombok:lombok' }
liquibase-core = { module = 'org.liquibase:liquibase-core' }
prometheus = { module = 'io.micrometer:micrometer-registry-prometheus' }

#test
spring-boot-test = { module = 'org.springframework.boot:spring-boot-starter-test' }
reactor-test = { module = 'io.projectreactor:reactor-test' }
testcontainers = { module = 'org.testcontainers:testcontainers' }
testcontainers-junit-jupiter = { module = 'org.testcontainers:junit-jupiter' }
testcontainers-postgresql = { module = 'org.testcontainers:postgresql' }
testcontainers-bom = { module = 'org.testcontainers:testcontainers-bom', version.ref = 'testcontainers-bom-version' }

[bundles]
testcontainers = ['testcontainers', 'testcontainers-junit-jupiter', 'testcontainers-postgresql']

[plugins]
springframework = { id = 'org.springframework.boot', version.ref = 'spring-boot-version' }
liquibase = { id = 'org.liquibase.gradle', version.ref = 'liquibase-version' }

